1. Field of the Invention
The present invention relates generally to a Multi-Input Multi-Output (MIMO) mobile communication system (i.e. a multiple-antenna mobile communication system). In particular, the present invention relates to an apparatus and method for improving the performance of an error correction code against the effects of error waves.
2. Description of the Related Art
Conventional mobile communication systems focus on voice service and rely on channel coding to overcome bad channel conditions. However, to meet demands for high-quality multimedia service, a future-generation wireless transmission technology is required which enables transmission of more data with less error probabilities at higher data rates. High-speed data transmission is important for a downlink that delivers a lot of data. Yet, in a mobile communication environment, fading, shadowing, propagation attenuation, noise, and interference decrease signal reliability considerably. Serious signal distortion results from multi-path fading, that is, the sum of signals that propagate in different paths and arrive at a receiving end with different phases and different strengths. The fading effect is a challenging problem to overcome in order to support high-speed data communications. Hence, many studies have been conducted on the issue. As an approach to overcoming fading, a Multi-Input Multi-Output (MIMO) scheme using multiple transmit/receive antennas was proposed. According to the MIMO scheme, data is transmitted simultaneously using multiple antennas of a transmitter and a receiver. This allows transmission of a large volume of data without increasing a transmission bandwidth.
FIG. 1 is a block diagram of a conventional MIMO system. As illustrated in FIG. 1, a transmitter comprises a demultiplexer (DEMUX) 100, a signal processor 102, and transmit antennas 104 to 108. A receiver comprises receive antennas 110 to 114 and a signal processor 116. Only components required to describe the principle of MIMO are shown. A plurality of channels are established between the transmit antennas 104 to 108 and the receive antennas 110 to 114.
Referring to FIG. 1, the DEMUX 100 demultiplexes an input data stream into as many data streams as the number of the transmit antennas 104 to 108. Specifically, the DEMUX 100 produces as many duplicates from one user data stream as the number of transmit antennas 104 to 108. The redundant transmission of one user data stream through multiple antennas reduces the probability of errors in the user data stream and, as a result, increases its reception reliability. Alternatively, the DEMUX 100 receives as many data streams as the number of transmit antennas 104 to 108 and outputs them correspondingly to the transmit antennas 104 to 108.
The signal processor 102 processes the demultiplexed user data streams in a predetermined manner and transmits the data streams through the transmit antennas 104 to 108. The receive antennas 110 to 114 receive the user data streams from the transmit antennas 104 to 108. That is, the receive antenna 110 receives the user data streams from the transmit antennas 104 to 108 and the receive antenna 112 also receives the user data streams from the transmit antennas 104 to 108. The receive antenna 114 also receives the user data streams from the transmit antennas 104 to 108. The signal processor 116 processes the user data streams received from the receive antennas 110 to 114 in a predetermined manner, for example, by coding and modulation.
There are largely two MIMO systems: Bell Labs Layered Space-Time (BLAST) and Per-Antenna Rate Control (PARC).
In BLAST, a transmitter demultiplexes a user data stream to as many data streams as the number of transmit antennas and the transmit antennas use the same data rate. BLAST is further branched into Diagonal BLAST (DBLAST), Vertical BLAST (VBLAST) and Horizontal BLAST (HBLAST). DBLAST applies a predetermined block coding to a user data stream to be transmitted through each transmit antenna. Despite having a high efficiency, DBLAST has the shortcoming of having a high implementation complexity. VBLAST uses an independent coding to a user data stream to be transmitted through each transmit antenna. VBLAST implementation requires that the number of receive antennas is equal to or greater than that of transmit antennas. A VBLAST receiver uses Maximum Likelihood Detection (MLD). MLD chooses symbols with least errors among all possible symbols transmittable through all transmit antennas, to thereby significantly increase performance. However, computation volume increases with the number of transmit antennas and thus implementation complexity is increased.
PARC allocates a different data rate according to the channel state of each transmit antenna. The channel state can be evaluated by means of Signal to Interference and Noise Ratio (SINR).
FIG. 2 is a block diagram of a transmitter in a MIMO system using PARC. The system illustrated in FIG. 2 can transmit J×M user data streams simultaneously using J spreading codes and M transmit antennas.
Referring to FIG. 2, a user data stream is provided to a DEMUX 200. The DEMUX 200 segments the user data stream to J data units according to the number of transmit antennas. Signal processors 210 to 214 each process the J user data streams in a predetermined method.
The signal processors 210 to 214 encode, interleave and modulate the received user data streams using data rates allocated to them and output the processed user data streams to first to J-th spreaders 220 to 224. More specifically, the J processed data streams output from the signal processor 210 are provided respectively to the first to J-th spreaders 220 to 224. In the same manner, the J processed data streams output from each of the signal processors 212 to 214 are provided respectively to the first to J-th spreaders 220 to 224.
The spreaders 220 to 224 use different spreading codes. The first spreader 220 spreads the received user data streams with the same spreading code 1. The second spreader 222 spreads the received user data streams with the same spreading code 2. The J-th spreader 224 spreads the received user data streams with the same spreading code J.
The spread signals are provided to adders 230 to 234. Notably, the user data streams processed in the same signal processor, that is, the user data streams processed by the same coding, interleaving and modulation are provided to the same adder. That is, the user data streams from the signal processor 210 are fed to the adder 230, the user data streams from the signal processor 212 are fed to the adder 232, and the user data streams from the signal processor 214 are fed to the adder 234.
The adder 230 adds the received data streams and the sum is additionally processed, for example, by scrambling and frequency upconversion. Then the processed signal s1(t) is transmitted on a radio channel through a first transmit antenna 240. Because the additional signal processing is beyond the scope of the present invention, its detailed description is not provided here. After additional processing, the sum from the adder 232 is transmitted as a signal s2(t) on a radio channel through a second transmit antenna 242. The sum from the adder 234 is transmitted as a signal sM(t) after additional processing, on a radio channel through an M-th transmit antenna 244.
FIG. 3 is a block diagram of a receiver in the MIMO system using PARC. The receiver is the counterpart of the transmitter illustrated in FIG. 2.
Referring to FIG. 3, a receive antenna 300 receives user data streams from the transmit antennas 240 to 244, a receive antenna 302 receives the user data streams from the transmit antennas 240 to 244, and a receive antenna 304 receives the user data streams from the transmit antennas 240 to 244.
The signals received at the receive antennas 300, 302 and 304 are provided to despreaders 320 to 322, despreaders 323 to 325, and despreaders 326 to 328, respectively. The despreaders 320 to 328 despread the received signals with the same spreading codes as used in the spreaders 220 to 224 of the transmitter. That is, the despreaders 320, 323, and 326 use the same spreading code as used in the spreader 220 of the transmitter. The despreaders 321, 324, and 327 use the same spreading code as used in the spreader 222. The despreaders 322, 325, and 328 use the same spreading code as used in the spreader 224.
The despread signals from the despreaders 320, 323 and 326 are provided to a Mean Minimum Square Error (MMSE) receiver 330. The despread signals from the despreaders 321, 324, and 327 are provided to an MMSE receiver 332. The despread signals from the despreaders 322, 325 and 328 are provided to an MMSE receiver 334.
Each of the MMSE receivers 330 to 334 detects user data streams according to a spreading code corresponding to MMSE receivers 330 to 334 using a predetermined rule. A multiplexer (MUX) 340 multiplexes the user data streams received from the MMSE receivers 330 to 334. A signal deprocessor 350 detects the multiplexed user data streams in a predetermined order, for example, in the order of antennas indexes and subjects them to demodulation, deinterleaving and decoding. It is assumed herein that the user data streams are detected in the order of the first to M-th transmit antennas 240 to 244. Therefore, the transmission signal of the first transmit antenna 240 is first detected.
A signal reproducer 360 processes the data stream of the first transmit antenna 240 by encoding, interleaving and modulating in the same manner as in the transmitter. Consequently, the signal estimated to be transmitted from the first transmit antenna 240 is reconstructed. Subtractors 310 to 314 subtract the reproduced signal from the signals received at the receive antennas 300 to 304 and provide the differences to the despreaders 320 to 328. The above operation is repeated up to the transmission signal from the M-th transmit antenna. Accordingly, the receiver reduces the effects of the multiple transmit antennas stepwise, while receiving the signals from the transmitter more accurately.
In the above conventional MIMO communication system, a signal from an m-th transmit antenna is estimated using an estimated signal from an (m−1)th transmit antenna. This signal estimation is called Successive Interference Cancellation (SIC). However, if errors are involved in estimation of the signal from the (m−1)th transmit antenna, the m-th transmission signal and successive signals estimated using the m-th transmission signal also have errors. Therefore, there is a need for a method of solving the problem encountered in view of the nature of SIC reception.